Hallo Ulrich,
mit `Was` meine ich um welche Art Information es sich handelt:
Datei: Zellzuweisung (wird momentan noch separat gespeichert, also nicht in dem Ordner), als Beispiel:
Was Reiter von nach
Name Reiter1 D42 wsZiel, E9
Addresse Reiter1 D46 wsZiel, E3
Alter Reiter1 D47 wsZiel, E4
Zahlung Reiter1 D48 wsZiel, E5
Summe Reiter2 H70 wsZiel, F4
...
Das soll für die erste eingelesene Datei gelten. Bei jeder weiteren eingelesenen Datei wird die Ziel-Zelle um vier versetzt, sodass am Ende eine Tabelle entsteht, die links immernoch die `Was`-Spalte enthält und pro eingelesene Datei eine zusätzliche Spalte.
Sub ersterAnfang()
Dim Pfad As String
Dim Fname As String
Dim wbQuelle As Workbook
Dim wsZiel As Worksheet
Dim ZielZeile As Long
Dim count As Integer
Pfad = "\" 'abschließender Backslash!!!!!
Fname = Dir(Pfad & "*.xlsm*")
' neuen Tab erzeugen
Set wsZiel = ThisWorkbook.Worksheets.Add
wsZiel.Name = "Auswertung"
'Tabelle erzeugen
Range("B6:B7").MergeCells = True
wsZiel.Cells(6, 2) = "Meldung"
wsZiel.Cells(6, 3) = "Jahr 1"
wsZiel.Cells(7, 3) = "Jahr 2"
Range("B8:B9").MergeCells = True
wsZiel.Cells(8, 2) = "P"
wsZiel.Cells(8, 3) = "ohne"
wsZiel.Cells(9, 3) = "mit"
'I
Range("B10:B16").MergeCells = True
wsZiel.Cells(10, 2) = " I"
wsZiel.Cells(10, 3) = "I 1.1"
wsZiel.Cells(11, 3) = "I 1.2"
wsZiel.Cells(12, 3) = "I 1.3"
wsZiel.Cells(13, 3) = "I 1.4"
wsZiel.Cells(14, 3) = "I 1.5"
wsZiel.Cells(15, 3) = "I 1.6"
wsZiel.Cells(16, 3) = "I gesamt"
' II
Range("B17:B26").MergeCells = True
wsZiel.Cells(17, 2) = "II"
wsZiel.Cells(17, 3) = "II 2.1"
wsZiel.Cells(18, 3) = "II 2.2 "
wsZiel.Cells(19, 3) = "II 2.3 "
wsZiel.Cells(20, 3) = "II 2.4 "
wsZiel.Cells(21, 3) = "II 2.5 "
wsZiel.Cells(22, 3) = "II 2.6"
wsZiel.Cells(23, 3) = "II 2.7"
wsZiel.Cells(24, 3) = "II 2.8"
wsZiel.Cells(25, 3) = "II 2.9"
wsZiel.Cells(26, 3) = "II gesamt"
'III
Range("B27:B37").MergeCells = True
wsZiel.Cells(27, 2) = "III"
wsZiel.Cells(27, 3).Value = "III 3.1 "
wsZiel.Cells(28, 3).Value = "III 3.2 "
wsZiel.Cells(29, 3).Value = "III 3.3 "
wsZiel.Cells(30, 3).Value = "III 3.4 "
wsZiel.Cells(31, 3) = "III 3.5 "
wsZiel.Cells(32, 3) = "III 3.6 "
wsZiel.Cells(33, 3) = "III 3.7"
wsZiel.Cells(34, 3) = "III 3.8"
wsZiel.Cells(35, 3) = "III 3.9"
wsZiel.Cells(36, 3) = "III 3.10"
wsZiel.Cells(37, 3) = "III gesamt 1"
Range("B38:B41").MergeCells = True
wsZiel.Cells(38, 2) = "III "
wsZiel.Cells(38, 3) = "III "
wsZiel.Cells(39, 3) = "III "
wsZiel.Cells(40, 3) = "III "
wsZiel.Cells(41, 3) = "III gasamt 2"
'VI
Range("B42:B47").MergeCells = True
wsZiel.Cells(42, 2) = "VI"
wsZiel.Cells(42, 3) = "IV 4.1 "
wsZiel.Cells(43, 3) = "IV 4.2 "
wsZiel.Cells(44, 3) = "IV 4.3"
wsZiel.Cells(45, 3) = "IV 4.4"
wsZiel.Cells(46, 3) = "IV 4.5"
wsZiel.Cells(47, 3) = "IV "
'V
Range("B48:B51").MergeCells = True
wsZiel.Cells(48, 2) = "V"
wsZiel.Cells(48, 3) = "V 5.1"
wsZiel.Cells(49, 3) = "V 5.2"
wsZiel.Cells(50, 3) = "V 5.3"
wsZiel.Cells(51, 3) = "V gesamt"
'VI
Range("B52:B76").MergeCells = True
wsZiel.Cells(52, 2) = "VI"
wsZiel.Cells(52, 3) = "VI 6.1 "
wsZiel.Cells(53, 3) = "VI 6.2 "
wsZiel.Cells(54, 3) = "VI 6.3 "
wsZiel.Cells(55, 3) = "VI 6.4 "
wsZiel.Cells(56, 3) = "VI 6.4.1"
wsZiel.Cells(57, 3) = "VI 6.4.2"
wsZiel.Cells(58, 3) = "VI 6.4.3"
wsZiel.Cells(59, 3) = "VI 6.4.4"
wsZiel.Cells(60, 3) = "VI 6.4.5"
wsZiel.Cells(61, 3) = "VI 6.5 "
wsZiel.Cells(62, 3) = "VI 6.6 "
wsZiel.Cells(63, 3) = "VI 6.7 "
wsZiel.Cells(64, 3) = "VI 6.8 "
wsZiel.Cells(65, 3) = "VI 6.9 "
wsZiel.Cells(66, 3) = "VI 6.10"
wsZiel.Cells(67, 3) = "VI 6.11 "
wsZiel.Cells(68, 3) = "VI 6.12 "
wsZiel.Cells(69, 3) = "VI 6.13"
wsZiel.Cells(70, 3) = "VI 6.14"
wsZiel.Cells(71, 3) = "VI 6.15"
wsZiel.Cells(72, 3) = "VI 6.16"
wsZiel.Cells(73, 3) = "VI 6.17"
wsZiel.Cells(74, 3) = "VI 6.18"
wsZiel.Cells(75, 3) = "VI 6.19"
wsZiel.Cells(76, 3) = "VI gesamt 1"
wsZiel.Cells(77, 2) = "VI "
Range("B77:B85").MergeCells = True
wsZiel.Cells(77, 3) = "VI 6.20"
wsZiel.Cells(78, 3) = "VI 6.21"
wsZiel.Cells(79, 3) = "VI 6.22"
wsZiel.Cells(80, 3) = "VI 6.23"
wsZiel.Cells(81, 3) = "VI 6.24"
wsZiel.Cells(82, 3) = "VI 6.25"
wsZiel.Cells(83, 3) = "VI 6.26"
wsZiel.Cells(84, 3) = "VI gesamt 2"
wsZiel.Cells(85, 3) = "Gesamt"
' Einnahmen
Range("B86:B91").MergeCells = True
wsZiel.Cells(86, 2) = "Einnahmen "
wsZiel.Cells(86, 3) = "Einnahme1"
wsZiel.Cells(87, 3) = "Einnahme2"
wsZiel.Cells(88, 3) = "Einnahme3"
wsZiel.Cells(89, 3) = "Einnahme4"
wsZiel.Cells(90, 3) = "Einnahme5"
wsZiel.Cells(91, 3) = "Einnahmen gesamt"
' Gewinn
wsZiel.Cells(92, 2) = "G1"
wsZiel.Cells(92, 3) = "G gesamt"
count = 0 'für die Anzahl an Datein
Do While Fname <> ""
Set wbQuelle = Workbooks.Open(Pfad & Fname)
'Name
'Range(Cells(1, 4 * count), Cells(1, 7 * count)).MergeCells = True
wsZiel.Cells(1, 4 + count * 4) = wbQuelle.Worksheets("Reiter1").Cells(9, 4)
'Addresse
'Range(Cells(2, 4 * count), Cells(1, 7 * count)).MergeCells = True
wsZiel.Cells(2, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter1").Cells(42, 4).Value
'Wertzuweisung nach_Zelle=von_Zelle
' I
wsZiel.Cells(10, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(9, 5).Value
wsZiel.Cells(11, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(10, 5).Value
wsZiel.Cells(12, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(11, 5).Value
wsZiel.Cells(13, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(12, 5).Value
wsZiel.Cells(14, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(13, 5).Value
wsZiel.Cells(15, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(14, 5).Value
wsZiel.Cells(16, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(17, 5).Value
'II
wsZiel.Cells(17, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(20, 5).Value
wsZiel.Cells(18, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(21, 5).Value
wsZiel.Cells(19, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(22, 5).Value
wsZiel.Cells(20, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(23, 5).Value
wsZiel.Cells(21, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(24, 5).Value
wsZiel.Cells(22, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(25, 5).Value
wsZiel.Cells(23, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(26, 5).Value
wsZiel.Cells(24, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(27, 5).Value
wsZiel.Cells(25, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(28, 5).Value
wsZiel.Cells(26, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(34, 5).Value
'III
wsZiel.Cells(27, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(37, 5).Value
wsZiel.Cells(28, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(38, 5).Value
wsZiel.Cells(29, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(39, 5).Value
wsZiel.Cells(30, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(40, 5).Value
wsZiel.Cells(31, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(41, 5).Value
wsZiel.Cells(32, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(42, 5).Value
wsZiel.Cells(33, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(43, 5).Value
wsZiel.Cells(34, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(44, 5).Value
wsZiel.Cells(35, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(45, 5).Value
wsZiel.Cells(36, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(46, 5).Value
wsZiel.Cells(37, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(52, 5).Value
wsZiel.Cells(38, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(55, 5).Value
wsZiel.Cells(39, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(56, 5).Value
wsZiel.Cells(40, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(57, 5).Value
wsZiel.Cells(41, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(59, 5).Value
'IV
wsZiel.Cells(42, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(62, 5).Value
wsZiel.Cells(43, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(63, 5).Value
wsZiel.Cells(44, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(64, 5).Value
wsZiel.Cells(45, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(65, 5).Value
wsZiel.Cells(46, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(66, 5).Value
wsZiel.Cells(47, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(72, 5).Value
'V
wsZiel.Cells(48, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(75, 5).Value
wsZiel.Cells(49, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(76, 5).Value
wsZiel.Cells(50, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(77, 5).Value
wsZiel.Cells(51, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(83, 5).Value
'VI
wsZiel.Cells(52, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(86, 5).Value
wsZiel.Cells(53, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(87, 5).Value
wsZiel.Cells(54, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(88, 5).Value
wsZiel.Cells(55, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(89, 5).Value
wsZiel.Cells(56, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(90, 5).Value
wsZiel.Cells(57, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(91, 5).Value
wsZiel.Cells(58, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(92, 5).Value
wsZiel.Cells(59, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(93, 5).Value
wsZiel.Cells(60, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(94, 5).Value
wsZiel.Cells(61, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(95, 5).Value
wsZiel.Cells(62, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(96, 5).Value
wsZiel.Cells(63, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(97, 5).Value
wsZiel.Cells(64, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(98, 5).Value
wsZiel.Cells(65, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(99, 5).Value
wsZiel.Cells(66, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(100, 5).Value
wsZiel.Cells(67, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(101, 5).Value
wsZiel.Cells(68, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(102, 5).Value
wsZiel.Cells(69, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(103, 5).Value
wsZiel.Cells(70, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(104, 5).Value
wsZiel.Cells(71, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(105, 5).Value
wsZiel.Cells(72, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(106, 5).Value
wsZiel.Cells(73, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(107, 5).Value
wsZiel.Cells(74, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(108, 5).Value
wsZiel.Cells(75, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(109, 5).Value
wsZiel.Cells(76, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(111, 5).Value
wsZiel.Cells(77, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(114, 5).Value
wsZiel.Cells(78, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(115, 5).Value
wsZiel.Cells(79, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(116, 5).Value
wsZiel.Cells(80, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(118, 5).Value
wsZiel.Cells(81, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(119, 5).Value
wsZiel.Cells(82, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(120, 5).Value
wsZiel.Cells(83, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(121, 5).Value
wsZiel.Cells(84, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(123, 5).Value
wsZiel.Cells(85, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(125, 5).Value
'Einnahmen
wsZiel.Cells(86, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(132, 5).Value
wsZiel.Cells(87, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(133, 5).Value
wsZiel.Cells(88, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(134, 5).Value
wsZiel.Cells(89, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(135, 5).Value
wsZiel.Cells(90, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(136, 5).Value
wsZiel.Cells(91, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(138, 5).Value
'Gewinn
wsZiel.Cells(92, 4 + count * 4).Value = wbQuelle.Worksheets("Reiter2").Cells(141, 5).Value
wbQuelle.Close savechanges:=False
Set wbQuelle = Nothing
Fname = Dir()
count = count + 1
ZielZeile = ZielZeile + 1
Loop
End Sub
Es sind noch nicht alle Wertzuweisungen eingetragen.
Ich hatte nun überlegt, ob es besser ist, wenn das Programm mit der Datei `Zellzuweisung` arbeitet, statt alles in den Code zu packen. Dann könnte man doch auch einfacher Änderunge vornehmen, oder?
Grüße, Mirko
|